# RUN: llvm-mc -arch=amdgcn -mcpu=tonga -disassemble -show-encoding < %s | FileCheck %s -check-prefix=VI

# VI:   v_cmp_lt_f32_e64 s[2:3], v4, -v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x40]
0x02 0x00 0x41 0xd0 0x04 0x0d 0x02 0x40

# VI: v_cmp_lt_f32_e64 vcc, v4, v6 ; encoding: [0x6a,0x00,0x41,0xd0,0x04,0x0d,0x02,0x00]
0x6a 0x00 0x41 0xd0 0x04 0x0d 0x02 0x00

# VI:   v_cmp_lt_f32_e64 s[2:3], -v4, v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x20]
0x02 0x00 0x41 0xd0 0x04 0x0d 0x02 0x20

# VI:   v_cmp_lt_f32_e64 s[2:3], v4, -v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x40]
0x02 0x00 0x41 0xd0 0x04 0x0d 0x02 0x40

# VI:   v_cmp_lt_f32_e64 s[2:3], -v4, -v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x60]
0x02 0x00 0x41 0xd0 0x04 0x0d 0x02 0x60

# VI:   v_cmp_lt_f32_e64 s[2:3], |v4|, v6 ; encoding: [0x02,0x01,0x41,0xd0,0x04,0x0d,0x02,0x00]
0x02 0x01 0x41 0xd0 0x04 0x0d 0x02 0x00

# VI:   v_cmp_lt_f32_e64 s[2:3], v4, |v6| ; encoding: [0x02,0x02,0x41,0xd0,0x04,0x0d,0x02,0x00]
0x02 0x02 0x41 0xd0 0x04 0x0d 0x02 0x00

# VI:   v_cmp_lt_f32_e64 s[2:3], |v4|, |v6| ; encoding: [0x02,0x03,0x41,0xd0,0x04,0x0d,0x02,0x00]
0x02 0x03 0x41 0xd0 0x04 0x0d 0x02 0x00

# VI:   v_cmp_lt_f32_e64 s[2:3], -|v4|, v6 ; encoding: [0x02,0x01,0x41,0xd0,0x04,0x0d,0x02,0x20]
0x02 0x01 0x41 0xd0 0x04 0x0d 0x02 0x20

# VI:   v_cmp_lt_f32_e64 s[2:3], -|v4|, v6 ; encoding: [0x02,0x01,0x41,0xd0,0x04,0x0d,0x02,0x20]
0x02 0x01 0x41 0xd0 0x04 0x0d 0x02 0x20

# VI:   v_cmp_lt_f32_e64 s[2:3], v4, -|v6| ; encoding: [0x02,0x02,0x41,0xd0,0x04,0x0d,0x02,0x40]
0x02 0x02 0x41 0xd0 0x04 0x0d 0x02 0x40

# VI:   v_cmp_lt_f32_e64 s[2:3], v4, -|v6| ; encoding: [0x02,0x02,0x41,0xd0,0x04,0x0d,0x02,0x40]
0x02 0x02 0x41 0xd0 0x04 0x0d 0x02 0x40

# VI:   v_cmp_lt_f32_e64 s[2:3], -|v4|, -|v6| ; encoding: [0x02,0x03,0x41,0xd0,0x04,0x0d,0x02,0x60]
0x02 0x03 0x41 0xd0 0x04 0x0d 0x02 0x60

# VI:   v_cmp_lt_f32_e64 s[2:3], -|v4|, -|v6| ; encoding: [0x02,0x03,0x41,0xd0,0x04,0x0d,0x02,0x60]
0x02 0x03 0x41 0xd0 0x04 0x0d 0x02 0x60

# VI:   v_cmp_f_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x40,0xd0,0x04,0x0d,0x02,0x00]
0x02 0x00 0x40 0xd0 0x04 0x0d 0x02 0x00

# VI:   v_cmp_lt_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x00]
0x02 0x00 0x41 0xd0 0x04 0x0d 0x02 0x00

# VI:   v_cmp_eq_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x42,0xd0,0x04,0x0d,0x02,0x00]
0x02 0x00 0x42 0xd0 0x04 0x0d 0x02 0x00

# VI:   v_cmp_le_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x43,0xd0,0x04,0x0d,0x02,0x00]
0x02 0x00 0x43 0xd0 0x04 0x0d 0x02 0x00

# VI:   v_cmp_gt_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x44,0xd0,0x04,0x0d,0x02,0x00]
0x02 0x00 0x44 0xd0 0x04 0x0d 0x02 0x00

# VI:   v_cmp_lg_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x45,0xd0,0x04,0x0d,0x02,0x00]
0x02 0x00 0x45 0xd0 0x04 0x0d 0x02 0x00

# VI:   v_cmp_ge_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x46,0xd0,0x04,0x0d,0x02,0x00]
0x02 0x00 0x46 0xd0 0x04 0x0d 0x02 0x00

# VI:   v_cmp_f_f64_e64 s[2:3], v[4:5], v[6:7] ; encoding: [0x02,0x00,0x60,0xd0,0x04,0x0d,0x02,0x00]
0x02 0x00 0x60 0xd0 0x04 0x0d 0x02 0x00

# VI:   v_cmp_f_i32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0xc0,0xd0,0x04,0x0d,0x02,0x00]
0x02 0x00 0xc0 0xd0 0x04 0x0d 0x02 0x00

# VI:   v_cmp_f_i64_e64 s[2:3], v[4:5], v[6:7] ; encoding: [0x02,0x00,0xe0,0xd0,0x04,0x0d,0x02,0x00]
0x02 0x00 0xe0 0xd0 0x04 0x0d 0x02 0x00

# VI:   v_mov_b32_e64 v1, v2 ; encoding: [0x01,0x00,0x41,0xd1,0x02,0x01,0x00,0x00]
0x01 0x00 0x41 0xd1 0x02 0x01 0x00 0x00

# VI:   v_nop ; encoding: [0x00,0x00,0x40,0xd1,0x00,0x00,0x00,0x00]
0x00 0x00 0x40 0xd1 0x00 0x00 0x00 0x00

# VI:   v_clrexcp ; encoding: [0x00,0x00,0x75,0xd1,0x00,0x00,0x00,0x00]
0x00 0x00 0x75 0xd1 0x00 0x00 0x00 0x00

# VI:   v_fract_f64_e64 v[5:6], s[2:3] ; encoding: [0x05,0x00,0x72,0xd1,0x02,0x00,0x00,0x00]
0x05,0x00,0x72,0xd1,0x02,0x00,0x00,0x00

# VI:   v_fract_f64_e64 v[5:6], -4.0 ; encoding: [0x05,0x00,0x72,0xd1,0xf7,0x00,0x00,0x00]
0x05,0x00,0x72,0xd1,0xf7,0x00,0x00,0x00

# VI:   v_fract_f64_e64 v[5:6], -s[2:3] ; encoding: [0x05,0x00,0x72,0xd1,0x02,0x00,0x00,0x20]
0x05,0x00,0x72,0xd1,0x02,0x00,0x00,0x20

# VI:   v_fract_f64_e64 v[5:6], |s[2:3]| ; encoding: [0x05,0x01,0x72,0xd1,0x02,0x00,0x00,0x00]
0x05,0x01,0x72,0xd1,0x02,0x00,0x00,0x00

# VI:   v_fract_f64_e64 v[5:6], s[2:3] clamp ; encoding: [0x05,0x80,0x72,0xd1,0x02,0x00,0x00,0x00]
0x05,0x80,0x72,0xd1,0x02,0x00,0x00,0x00

# VI:   v_fract_f64_e64 v[5:6], s[2:3] mul:2 ; encoding: [0x05,0x00,0x72,0xd1,0x02,0x00,0x00,0x08]
0x05,0x00,0x72,0xd1,0x02,0x00,0x00,0x08

# VI:   v_fract_f32_e64 v1, -v2 ; encoding: [0x01,0x00,0x5b,0xd1,0x02,0x01,0x00,0x20]
0x01 0x00 0x5b 0xd1 0x02 0x01 0x00 0x20

# VI:   v_fract_f32_e64 v1, |v2| ; encoding: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x00]
0x01 0x01 0x5b 0xd1 0x02 0x01 0x00 0x00

# VI:   v_fract_f32_e64 v1, |v2| ; encoding: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x00]
0x01 0x01 0x5b 0xd1 0x02 0x01 0x00 0x00

# VI:   v_fract_f32_e64 v1, -|v2| ; encoding: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x20]
0x01 0x01 0x5b 0xd1 0x02 0x01 0x00 0x20

# VI:   v_fract_f32_e64 v1, -|v2| ; encoding: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x20]
0x01 0x01 0x5b 0xd1 0x02 0x01 0x00 0x20

# VI:   v_fract_f32_e64 v1, v2 clamp ; encoding: [0x01,0x80,0x5b,0xd1,0x02,0x01,0x00,0x00]
0x01 0x80 0x5b 0xd1 0x02 0x01 0x00 0x00

# VI:   v_fract_f32_e64 v1, v2 mul:2 ; encoding: [0x01,0x00,0x5b,0xd1,0x02,0x01,0x00,0x08]
0x01 0x00 0x5b 0xd1 0x02 0x01 0x00 0x08

# VI:   v_fract_f32_e64 v1, v2 clamp div:2 ; encoding: [0x01,0x80,0x5b,0xd1,0x02,0x01,0x00,0x18]
0x01 0x80 0x5b 0xd1 0x02 0x01 0x00 0x18

# VI:   v_add_f32_e64 v1, v3, v5 ; encoding: [0x01,0x00,0x01,0xd1,0x03,0x0b,0x02,0x00]
0x01 0x00 0x01 0xd1 0x03 0x0b 0x02 0x00

# VI:   v_cndmask_b32_e64 v1, v3, v5, s[4:5] ; encoding: [0x01,0x00,0x00,0xd1,0x03,0x0b,0x12,0x00]
0x01 0x00 0x00 0xd1 0x03 0x0b 0x12 0x00

# VI:   v_cndmask_b32_e64 v1, v3, v5, vcc ; encoding: [0x01,0x00,0x00,0xd1,0x03,0x0b,0xaa,0x01]
0x01 0x00 0x00 0xd1 0x03 0x0b 0xaa 0x01

# VI:   v_cndmask_b32_e64 v1, -v3, v5, s[4:5] ; encoding: [0x01,0x00,0x00,0xd1,0x03,0x0b,0x12,0x20]
0x01,0x00,0x00,0xd1,0x03,0x0b,0x12,0x20

# VI:   v_cndmask_b32_e64 v1, v3, |v5|, s[4:5] ; encoding: [0x01,0x02,0x00,0xd1,0x03,0x0b,0x12,0x00]
0x01,0x02,0x00,0xd1,0x03,0x0b,0x12,0x00

# VI:   v_cndmask_b32_e64 v1, -|v3|, v5, vcc ; encoding: [0x01,0x01,0x00,0xd1,0x03,0x0b,0xaa,0x21]
0x01,0x01,0x00,0xd1,0x03,0x0b,0xaa,0x21

# VI:   v_add_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x01,0xd1,0x03,0x0b,0x00,0x00]
0x01 0x00 0x01 0xd1 0x03 0x0b 0x00 0x00

# VI:   v_sub_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x02,0xd1,0x03,0x0b,0x00,0x00]
0x01 0x00 0x02 0xd1 0x03 0x0b 0x00 0x00

# VI:   v_subrev_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x03,0xd1,0x03,0x0b,0x00,0x00]
0x01 0x00 0x03 0xd1 0x03 0x0b 0x00 0x00

# VI:   v_mul_legacy_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x04,0xd1,0x03,0x0b,0x00,0x00]
0x01 0x00 0x04 0xd1 0x03 0x0b 0x00 0x00

# VI:   v_mul_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x05,0xd1,0x03,0x0b,0x00,0x00]
0x01 0x00 0x05 0xd1 0x03 0x0b 0x00 0x00

# VI:   v_mul_i32_i24_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x06,0xd1,0x03,0x0b,0x00,0x00]
0x01 0x00 0x06 0xd1 0x03 0x0b 0x00 0x00

# VI:   v_mad_legacy_f32 v2, v4, v6, v8 ; encoding: [0x02,0x00,0xc0,0xd1,0x04,0x0d,0x22,0x04]
0x02 0x00 0xc0 0xd1 0x04 0x0d 0x22 0x04

# VI:   v_add_f64 v[0:1], v[2:3], v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x00]
0x00 0x00 0x80 0xd2 0x02 0x0b 0x02 0x00

# VI:   v_add_f64 v[0:1], v[2:3], v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x00]
0x00 0x00 0x80 0xd2 0x02 0x0b 0x02 0x00

# VI:   v_add_f64 v[0:1], -v[2:3], v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x20]
0x00 0x00 0x80 0xd2 0x02 0x0b 0x02 0x20

# VI:   v_add_f64 v[0:1], -v[2:3], v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x20]
0x00 0x00 0x80 0xd2 0x02 0x0b 0x02 0x20

# VI:   v_add_f64 v[0:1], v[2:3], -v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x40]
0x00 0x00 0x80 0xd2 0x02 0x0b 0x02 0x40

# VI:   v_add_f64 v[0:1], v[2:3], -v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x40]
0x00 0x00 0x80 0xd2 0x02 0x0b 0x02 0x40

# VI:   v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]
0x00 0x01 0x80 0xd2 0x02 0x0b 0x02 0x00

# VI:   v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]
0x00 0x01 0x80 0xd2 0x02 0x0b 0x02 0x00

# VI:   v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]
0x00 0x01 0x80 0xd2 0x02 0x0b 0x02 0x00

# VI:   v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]
0x00 0x01 0x80 0xd2 0x02 0x0b 0x02 0x00

# VI:   v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]
0x00 0x02 0x80 0xd2 0x02 0x0b 0x02 0x00

# VI:   v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]
0x00 0x02 0x80 0xd2 0x02 0x0b 0x02 0x00

# VI:   v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]
0x00 0x02 0x80 0xd2 0x02 0x0b 0x02 0x00

# VI:   v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]
0x00 0x02 0x80 0xd2 0x02 0x0b 0x02 0x00

# VI:   v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]
0x00 0x82 0x80 0xd2 0x02 0x0b 0x02 0x30

# VI:   v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]
0x00 0x82 0x80 0xd2 0x02 0x0b 0x02 0x30

# VI:   v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]
0x00 0x82 0x80 0xd2 0x02 0x0b 0x02 0x30

# VI:   v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]
0x00 0x82 0x80 0xd2 0x02 0x0b 0x02 0x30

# VI:   v_div_scale_f64 v[24:25], vcc, v[22:23], v[22:23], v[20:21] ; encoding: [0x18,0x6a,0xe1,0xd1,0x16,0x2d,0x52,0x04]
0x18 0x6a 0xe1 0xd1 0x16 0x2d 0x52 0x04

# VI:   v_div_scale_f64 v[24:25], s[10:11], v[22:23], v[20:21], v[20:21] ; encoding: [0x18,0x0a,0xe1,0xd1,0x16,0x29,0x52,0x04]
0x18 0x0a 0xe1 0xd1 0x16 0x29 0x52 0x04

# VI:   v_div_scale_f32 v24, vcc, v22, v22, v20 ; encoding: [0x18,0x6a,0xe0,0xd1,0x16,0x2d,0x52,0x04]
0x18 0x6a 0xe0 0xd1 0x16 0x2d 0x52 0x04

# VI:   v_div_scale_f32 v24, vcc, s10, v22, v20 ; encoding: [0x18,0x6a,0xe0,0xd1,0x0a,0x2c,0x52,0x04]
0x18 0x6a 0xe0 0xd1 0x0a 0x2c 0x52 0x04

# VI:   v_div_scale_f32 v24, s[10:11], v22, v22, v20 ; encoding: [0x18,0x0a,0xe0,0xd1,0x16,0x2d,0x52,0x04]
0x18 0x0a 0xe0 0xd1 0x16 0x2d 0x52 0x04

# VI:   v_div_scale_f32 v24, vcc, v22, 1.0, v22 ; encoding: [0x18,0x6a,0xe0,0xd1,0x16,0xe5,0x59,0x04]
0x18 0x6a 0xe0 0xd1 0x16 0xe5 0x59 0x04

# VI:   v_div_scale_f32 v24, vcc, v22, v22, -2.0 ; encoding: [0x18,0x6a,0xe0,0xd1,0x16,0x2d,0xd6,0x03]
0x18 0x6a 0xe0 0xd1 0x16 0x2d 0xd6 0x03

# VI:   v_div_scale_f32 v24, vcc, v22, v22, -2.0 ; encoding: [0x18,0x6a,0xe0,0xd1,0x16,0x2d,0xd6,0x03]
0x18 0x6a 0xe0 0xd1 0x16 0x2d 0xd6 0x03

# VI:   v_mad_f32 v9, 0.5, v5, -v8      ; encoding: [0x09,0x00,0xc1,0xd1,0xf0,0x0a,0x22,0x84]
0x09 0x00 0xc1 0xd1 0xf0 0x0a 0x22 0x84

# VI:   v_ceil_f32_e64 v0, neg(-1)      ; encoding: [0x00,0x00,0x5d,0xd1,0xc1,0x00,0x00,0x20]
0x00,0x00,0x5d,0xd1,0xc1,0x00,0x00,0x20

# VI:   v_ceil_f32_e64 v0, neg(-1.0)    ; encoding: [0x00,0x00,0x5d,0xd1,0xf3,0x00,0x00,0x20]
0x00,0x00,0x5d,0xd1,0xf3,0x00,0x00,0x20

# VI: v_fma_f16 v5, v1, v2, v3    ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x04]
0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x04

# VI: v_fma_f16 v5, 0.5, v2, v3    ; encoding: [0x05,0x00,0xee,0xd1,0xf0,0x04,0x0e,0x04]
0x05,0x00,0xee,0xd1,0xf0,0x04,0x0e,0x04

# VI: v_fma_f16 v5, v1, v2, |v3|    ; encoding: [0x05,0x04,0xee,0xd1,0x01,0x05,0x0e,0x04]
0x05,0x04,0xee,0xd1,0x01,0x05,0x0e,0x04

# VI: v_fma_f16 v5, v1, v2, v3 clamp    ; encoding: [0x05,0x80,0xee,0xd1,0x01,0x05,0x0e,0x04]
0x05,0x80,0xee,0xd1,0x01,0x05,0x0e,0x04

# VI: v_div_fixup_f16 v5, 0.5, v2, v3    ; encoding: [0x05,0x00,0xef,0xd1,0xf0,0x04,0x0e,0x04]
0x05,0x00,0xef,0xd1,0xf0,0x04,0x0e,0x04

# VI: v_div_fixup_f16 v5, v1, 0.5, v3    ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xe1,0x0d,0x04]
0x05,0x00,0xef,0xd1,0x01,0xe1,0x0d,0x04

# VI: v_div_fixup_f16 v5, v1, v2, 0.5    ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0xc2,0x03]
0x05,0x00,0xef,0xd1,0x01,0x05,0xc2,0x03

# VI: v_div_fixup_f16 v5, -v1, -v2, -v3    ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0xe4]
0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0xe4

# VI: v_div_fixup_f16 v5, |v1|, |v2|, |v3|    ; encoding: [0x05,0x07,0xef,0xd1,0x01,0x05,0x0e,0x04]
0x05,0x07,0xef,0xd1,0x01,0x05,0x0e,0x04

# VI: v_div_fixup_f16 v5, v1, v2, v3 clamp    ; encoding: [0x05,0x80,0xef,0xd1,0x01,0x05,0x0e,0x04]
0x05,0x80,0xef,0xd1,0x01,0x05,0x0e,0x04

# VI: v_mad_f16 v5, 0.5, v2, v3    ; encoding: [0x05,0x00,0xea,0xd1,0xf0,0x04,0x0e,0x04]
0x05,0x00,0xea,0xd1,0xf0,0x04,0x0e,0x04

# VI: v_mad_f16 v5, v1, 0.5, v3    ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xe1,0x0d,0x04]
0x05,0x00,0xea,0xd1,0x01,0xe1,0x0d,0x04

# VI: v_mad_f16 v5, v1, v2, 0.5    ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0xc2,0x03]
0x05,0x00,0xea,0xd1,0x01,0x05,0xc2,0x03

# VI: v_mad_f16 v5, -v1, -v2, -v3    ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0xe4]
0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0xe4

# VI: v_mad_f16 v5, |v1|, |v2|, |v3|    ; encoding: [0x05,0x07,0xea,0xd1,0x01,0x05,0x0e,0x04]
0x05,0x07,0xea,0xd1,0x01,0x05,0x0e,0x04

# VI: v_mad_f16 v5, v1, v2, v3 clamp    ; encoding: [0x05,0x80,0xea,0xd1,0x01,0x05,0x0e,0x04]
0x05,0x80,0xea,0xd1,0x01,0x05,0x0e,0x04

# VI: v_mad_i16 v5, -1, v2, v3    ; encoding: [0x05,0x00,0xec,0xd1,0xc1,0x04,0x0e,0x04]
0x05,0x00,0xec,0xd1,0xc1,0x04,0x0e,0x04

# VI: v_mad_i16 v5, v1, 20, v3    ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x29,0x0d,0x04]
0x05,0x00,0xec,0xd1,0x01,0x29,0x0d,0x04

# VI: v_mad_i16 v5, v1, v2, 63    ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0xfe,0x02]
0x05,0x00,0xec,0xd1,0x01,0x05,0xfe,0x02

# VI: v_mad_u16 v5, -1, v2, v3    ; encoding: [0x05,0x00,0xeb,0xd1,0xc1,0x04,0x0e,0x04]
0x05,0x00,0xeb,0xd1,0xc1,0x04,0x0e,0x04

# VI: v_mad_u16 v5, v1, 20, v3    ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x29,0x0d,0x04]
0x05,0x00,0xeb,0xd1,0x01,0x29,0x0d,0x04

# VI: v_mad_u16 v5, v1, v2, 63    ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xfe,0x02]
0x05,0x00,0xeb,0xd1,0x01,0x05,0xfe,0x02

# VI: v_interp_mov_f32_e64 v5, p10, attr0.x    ; encoding: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x00]
0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x00

# VI: v_interp_mov_f32_e64 v5, p10, attr32.x    ; encoding: [0x05,0x00,0x72,0xd2,0x20,0x00,0x00,0x00]
0x05,0x00,0x72,0xd2,0x20,0x00,0x00,0x00

# VI: v_interp_mov_f32_e64 v5, p20, attr0.x    ; encoding: [0x05,0x00,0x72,0xd2,0x00,0x02,0x00,0x00]
0x05,0x00,0x72,0xd2,0x00,0x02,0x00,0x00

# VI: v_interp_mov_f32_e64 v5, p10, attr0.w    ; encoding: [0x05,0x00,0x72,0xd2,0xc0,0x00,0x00,0x00]
0x05,0x00,0x72,0xd2,0xc0,0x00,0x00,0x00

# VI: v_interp_mov_f32_e64 v5, p10, attr0.x clamp    ; encoding: [0x05,0x80,0x72,0xd2,0x00,0x00,0x00,0x00]
0x05,0x80,0x72,0xd2,0x00,0x00,0x00,0x00

# VI: v_interp_mov_f32_e64 v5, p10, attr0.x mul:2    ; encoding: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x08]
0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x08

# VI: v_interp_mov_f32_e64 v5, p10, attr0.x mul:4    ; encoding: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x10]
0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x10

# VI: v_interp_mov_f32_e64 v5, p10, attr0.x div:2    ; encoding: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x18]
0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x18

# VI: v_interp_p1_f32_e64 v255, v2, attr0.x    ; encoding: [0xff,0x00,0x70,0xd2,0x00,0x04,0x02,0x00]
0xff,0x00,0x70,0xd2,0x00,0x04,0x02,0x00

# VI: v_interp_p1_f32_e64 v5, v2, attr1.x    ; encoding: [0x05,0x00,0x70,0xd2,0x01,0x04,0x02,0x00]
0x05,0x00,0x70,0xd2,0x01,0x04,0x02,0x00

# VI: v_interp_p1_f32_e64 v5, -v2, attr0.x    ; encoding: [0x05,0x00,0x70,0xd2,0x00,0x04,0x02,0x40]
0x05,0x00,0x70,0xd2,0x00,0x04,0x02,0x40

# VI: v_interp_p1_f32_e64 v5, |v2|, attr0.x    ; encoding: [0x05,0x02,0x70,0xd2,0x00,0x04,0x02,0x00]
0x05,0x02,0x70,0xd2,0x00,0x04,0x02,0x00

# VI: v_interp_p1_f32_e64 v5, v2, attr0.z    ; encoding: [0x05,0x00,0x70,0xd2,0x80,0x04,0x02,0x00]
0x05,0x00,0x70,0xd2,0x80,0x04,0x02,0x00

# VI: v_interp_p1_f32_e64 v5, v2, attr0.x clamp    ; encoding: [0x05,0x80,0x70,0xd2,0x00,0x04,0x02,0x00]
0x05,0x80,0x70,0xd2,0x00,0x04,0x02,0x00

# VI: v_interp_p1_f32_e64 v5, v2, attr0.x mul:2    ; encoding: [0x05,0x00,0x70,0xd2,0x00,0x04,0x02,0x08]
0x05,0x00,0x70,0xd2,0x00,0x04,0x02,0x08

# VI: v_interp_p2_f32_e64 v5, v2, attr0.x    ; encoding: [0x05,0x00,0x71,0xd2,0x00,0x04,0x02,0x00]
0x05,0x00,0x71,0xd2,0x00,0x04,0x02,0x00

# VI: v_interp_p2_f32_e64 v5, v2, attr31.x    ; encoding: [0x05,0x00,0x71,0xd2,0x1f,0x04,0x02,0x00]
0x05,0x00,0x71,0xd2,0x1f,0x04,0x02,0x00

# VI: v_interp_p2_f32_e64 v5, -v2, attr0.x    ; encoding: [0x05,0x00,0x71,0xd2,0x00,0x04,0x02,0x40]
0x05,0x00,0x71,0xd2,0x00,0x04,0x02,0x40

# VI: v_interp_p2_f32_e64 v5, |v2|, attr0.x    ; encoding: [0x05,0x02,0x71,0xd2,0x00,0x04,0x02,0x00]
0x05,0x02,0x71,0xd2,0x00,0x04,0x02,0x00

# VI: v_interp_p2_f32_e64 v5, v2, attr0.y    ; encoding: [0x05,0x00,0x71,0xd2,0x40,0x04,0x02,0x00]
0x05,0x00,0x71,0xd2,0x40,0x04,0x02,0x00

# VI: v_interp_p2_f32_e64 v5, v2, attr0.x clamp    ; encoding: [0x05,0x80,0x71,0xd2,0x00,0x04,0x02,0x00]
0x05,0x80,0x71,0xd2,0x00,0x04,0x02,0x00

# VI: v_interp_p2_f32_e64 v5, v2, attr0.x mul:4    ; encoding: [0x05,0x00,0x71,0xd2,0x00,0x04,0x02,0x10]
0x05,0x00,0x71,0xd2,0x00,0x04,0x02,0x10

# VI: v_interp_p1ll_f16 v5, v2, attr0.x    ; encoding: [0x05,0x00,0x74,0xd2,0x00,0x04,0x02,0x00]
0x05,0x00,0x74,0xd2,0x00,0x04,0x02,0x00

# VI: v_interp_p1ll_f16 v5, v2, attr1.x    ; encoding: [0x05,0x00,0x74,0xd2,0x01,0x04,0x02,0x00]
0x05,0x00,0x74,0xd2,0x01,0x04,0x02,0x00

# VI: v_interp_p1ll_f16 v5, -v2, attr0.x    ; encoding: [0x05,0x00,0x74,0xd2,0x00,0x04,0x02,0x40]
0x05,0x00,0x74,0xd2,0x00,0x04,0x02,0x40

# VI: v_interp_p1ll_f16 v5, |v2|, attr0.x    ; encoding: [0x05,0x02,0x74,0xd2,0x00,0x04,0x02,0x00]
0x05,0x02,0x74,0xd2,0x00,0x04,0x02,0x00

# VI: v_interp_p1ll_f16 v5, v2, attr0.y    ; encoding: [0x05,0x00,0x74,0xd2,0x40,0x04,0x02,0x00]
0x05,0x00,0x74,0xd2,0x40,0x04,0x02,0x00

# VI: v_interp_p1ll_f16 v5, v2, attr0.x high    ; encoding: [0x05,0x00,0x74,0xd2,0x00,0x05,0x02,0x00]
0x05,0x00,0x74,0xd2,0x00,0x05,0x02,0x00

# VI: v_interp_p1ll_f16 v5, v2, attr0.x clamp    ; encoding: [0x05,0x80,0x74,0xd2,0x00,0x04,0x02,0x00]
0x05,0x80,0x74,0xd2,0x00,0x04,0x02,0x00

# VI: v_interp_p1ll_f16 v5, v2, attr0.x div:2    ; encoding: [0x05,0x00,0x74,0xd2,0x00,0x04,0x02,0x18]
0x05,0x00,0x74,0xd2,0x00,0x04,0x02,0x18

# VI: v_interp_p1lv_f16 v255, v2, attr0.x, v3    ; encoding: [0xff,0x00,0x75,0xd2,0x00,0x04,0x0e,0x04]
0xff,0x00,0x75,0xd2,0x00,0x04,0x0e,0x04

# VI: v_interp_p1lv_f16 v5, v2, attr32.x, v3    ; encoding: [0x05,0x00,0x75,0xd2,0x20,0x04,0x0e,0x04]
0x05,0x00,0x75,0xd2,0x20,0x04,0x0e,0x04

# VI: v_interp_p1lv_f16 v5, -v2, attr0.x, v3    ; encoding: [0x05,0x00,0x75,0xd2,0x00,0x04,0x0e,0x44]
0x05,0x00,0x75,0xd2,0x00,0x04,0x0e,0x44

# VI: v_interp_p1lv_f16 v5, v2, attr0.x, -v3    ; encoding: [0x05,0x00,0x75,0xd2,0x00,0x04,0x0e,0x84]
0x05,0x00,0x75,0xd2,0x00,0x04,0x0e,0x84

# VI: v_interp_p1lv_f16 v5, |v2|, attr0.x, v3    ; encoding: [0x05,0x02,0x75,0xd2,0x00,0x04,0x0e,0x04]
0x05,0x02,0x75,0xd2,0x00,0x04,0x0e,0x04

# VI: v_interp_p1lv_f16 v5, v2, attr0.x, |v3|    ; encoding: [0x05,0x04,0x75,0xd2,0x00,0x04,0x0e,0x04]
0x05,0x04,0x75,0xd2,0x00,0x04,0x0e,0x04

# VI: v_interp_p1lv_f16 v5, v2, attr0.x, v3 high    ; encoding: [0x05,0x00,0x75,0xd2,0x00,0x05,0x0e,0x04]
0x05,0x00,0x75,0xd2,0x00,0x05,0x0e,0x04

# VI: v_interp_p1lv_f16 v5, v2, attr0.x, v3 clamp    ; encoding: [0x05,0x80,0x75,0xd2,0x00,0x04,0x0e,0x04]
0x05,0x80,0x75,0xd2,0x00,0x04,0x0e,0x04

# VI: v_interp_p1lv_f16 v5, v2, attr0.x, v3 mul:4    ; encoding: [0x05,0x00,0x75,0xd2,0x00,0x04,0x0e,0x14]
0x05,0x00,0x75,0xd2,0x00,0x04,0x0e,0x14

# VI: v_interp_p2_f16 v5, v2, attr0.x, v3    ; encoding: [0x05,0x00,0x76,0xd2,0x00,0x04,0x0e,0x04]
0x05,0x00,0x76,0xd2,0x00,0x04,0x0e,0x04

# VI: v_interp_p2_f16 v5, v2, attr1.x, v3    ; encoding: [0x05,0x00,0x76,0xd2,0x01,0x04,0x0e,0x04]
0x05,0x00,0x76,0xd2,0x01,0x04,0x0e,0x04

# VI: v_interp_p2_f16 v5, -v2, attr0.x, v3    ; encoding: [0x05,0x00,0x76,0xd2,0x00,0x04,0x0e,0x44]
0x05,0x00,0x76,0xd2,0x00,0x04,0x0e,0x44

# VI: v_interp_p2_f16 v5, v2, attr0.x, -v3    ; encoding: [0x05,0x00,0x76,0xd2,0x00,0x04,0x0e,0x84]
0x05,0x00,0x76,0xd2,0x00,0x04,0x0e,0x84

# VI: v_interp_p2_f16 v5, |v2|, attr0.x, v3    ; encoding: [0x05,0x02,0x76,0xd2,0x00,0x04,0x0e,0x04]
0x05,0x02,0x76,0xd2,0x00,0x04,0x0e,0x04

# VI: v_interp_p2_f16 v5, v2, attr0.x, |v3|    ; encoding: [0x05,0x04,0x76,0xd2,0x00,0x04,0x0e,0x04]
0x05,0x04,0x76,0xd2,0x00,0x04,0x0e,0x04

# VI: v_interp_p2_f16 v5, v2, attr0.x, v3 high    ; encoding: [0x05,0x00,0x76,0xd2,0x00,0x05,0x0e,0x04]
0x05,0x00,0x76,0xd2,0x00,0x05,0x0e,0x04

# VI: v_interp_p2_f16 v5, v2, attr0.x, v3 clamp    ; encoding: [0x05,0x80,0x76,0xd2,0x00,0x04,0x0e,0x04]
0x05,0x80,0x76,0xd2,0x00,0x04,0x0e,0x04

# VI: v_mad_i32_i24 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xc2,0xd1,0x01,0x05,0x0e,0x04]
0x05,0x80,0xc2,0xd1,0x01,0x05,0x0e,0x04

# VI: v_mad_u32_u24 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xc3,0xd1,0x01,0x05,0x0e,0x04]
0x05,0x80,0xc3,0xd1,0x01,0x05,0x0e,0x04

# VI: v_sad_u8 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xd9,0xd1,0x01,0x05,0x0e,0x04]
0x05,0x80,0xd9,0xd1,0x01,0x05,0x0e,0x04

# VI: v_sad_hi_u8 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xda,0xd1,0x01,0x05,0x0e,0x04]
0x05,0x80,0xda,0xd1,0x01,0x05,0x0e,0x04

# VI: v_sad_u16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xdb,0xd1,0x01,0x05,0x0e,0x04]
0x05,0x80,0xdb,0xd1,0x01,0x05,0x0e,0x04

# VI: v_sad_u32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xdc,0xd1,0x01,0x05,0x0e,0x04]
0x05,0x80,0xdc,0xd1,0x01,0x05,0x0e,0x04

# VI: v_msad_u8 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xe4,0xd1,0x01,0x05,0x0e,0x04]
0x05,0x80,0xe4,0xd1,0x01,0x05,0x0e,0x04

# VI: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4] clamp ; encoding: [0x05,0x80,0xe6,0xd1,0x01,0x05,0x0e,0x04]
0x05,0x80,0xe6,0xd1,0x01,0x05,0x0e,0x04

# VI: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4] clamp ; encoding: [0x05,0x80,0xe5,0xd1,0x01,0x05,0x0e,0x04]
0x05,0x80,0xe5,0xd1,0x01,0x05,0x0e,0x04

# VI: v_mqsad_u32_u8 v[252:255], v[1:2], v2, v[3:6] clamp ; encoding: [0xfc,0x80,0xe7,0xd1,0x01,0x05,0x0e,0x04]
0xfc,0x80,0xe7,0xd1,0x01,0x05,0x0e,0x04

# VI: v_mad_u16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xeb,0xd1,0x01,0x05,0x0e,0x04]
0x05,0x80,0xeb,0xd1,0x01,0x05,0x0e,0x04

# VI: v_mad_i16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xec,0xd1,0x01,0x05,0x0e,0x04]
0x05,0x80,0xec,0xd1,0x01,0x05,0x0e,0x04

# VI: v_add_u32_e64 v84, vcc, v13, s31 clamp ; encoding: [0x54,0xea,0x19,0xd1,0x0d,0x3f,0x00,0x00]
0x54,0xea,0x19,0xd1,0x0d,0x3f,0x00,0x00

# VI: v_sub_u32_e64 v84, s[2:3], v13, s31 clamp ; encoding: [0x54,0x82,0x1a,0xd1,0x0d,0x3f,0x00,0x00]
0x54,0x82,0x1a,0xd1,0x0d,0x3f,0x00,0x00

# VI: v_subrev_u32_e64 v84, vcc, v13, s31 clamp ; encoding: [0x54,0xea,0x1b,0xd1,0x0d,0x3f,0x00,0x00]
0x54,0xea,0x1b,0xd1,0x0d,0x3f,0x00,0x00

# VI: v_addc_u32_e64 v84, s[4:5], v13, v31, vcc clamp ; encoding: [0x54,0x84,0x1c,0xd1,0x0d,0x3f,0xaa,0x01]
0x54,0x84,0x1c,0xd1,0x0d,0x3f,0xaa,0x01

# VI: v_subb_u32_e64 v84, s[2:3], v13, v31, vcc clamp ; encoding: [0x54,0x82,0x1d,0xd1,0x0d,0x3f,0xaa,0x01]
0x54,0x82,0x1d,0xd1,0x0d,0x3f,0xaa,0x01

# VI: v_subbrev_u32_e64 v84, vcc, v13, v31, s[6:7] clamp ; encoding: [0x54,0xea,0x1e,0xd1,0x0d,0x3f,0x1a,0x00]
0x54,0xea,0x1e,0xd1,0x0d,0x3f,0x1a,0x00

